﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace V82.ОбщиеМодули
{
	public partial class ПолучениеФайловИзИнтернета
	{
		// Получить файл из Интернета по протоколу http(s), либо ftp и сохранить его во временный файл.
		//
		// Параметры:
		//   URL                  - Строка - url файла в формате
		//                                   [Протокол://]<Сервер>/<Путь к файлу на сервере>
		//   ПараметрыПолучения   - Структура со свойствами
		//     ПутьДляСохранения    - Строка - путь на сервере (включая имя файла), для сохранения скачанного файла
		//     Пользователь         - Строка - пользователь от имени которого установлено соединение
		//     Пароль               - Строка - пароль пользователя от которого установлено соединение
		//     Порт                 - Число  - порт сервера с которым установлено соединение
		//     ЗащищенноеСоединение - Булево - для случая http загрузки флаг указывает,
		//                                     что соединение должно производиться через https
		//     ПассивноеСоединение  - Булево - для случая ftp загрузки флаг указывает,
		//                                     что соединение должно пассивным (или активным)
		//
		// Возвращаемое значение:
		//   Структура, со свойствами
		//     Статус - Булево - ключ присутствует в структуре всегда, значения
		//                       Истина - вызов функции успешно завершен
		//                       Ложь   - вызов функции завершен неудачно
		//     Путь   - Строка - путь к файлу на сервере, ключ используется только
		//                       если статус Истина
		//     СообщениеОбОшибке - Строка - сообщение об ошибке, если статус Ложь
		//

		public object СкачатьФайлНаСервере(/*знач URL, ПараметрыПолучения = Неопределено*/)
		{
			/*// Объявление переменных перед первым использованием в качестве
*/
			/*// параметра метода Свойство, при анализе параметров получения файлов
*/
			/*// из ПараметрыПолучения. Содержат значения переданных параметров получения файла
*/
			/*// Инициализируем параметры скачивания файла
*/
			if(true/*ПараметрыПолучения = Неопределено*/)
			{
				//ПараметрыПолучения = Новый Структура;
			}
			if(true/*Не ПараметрыПолучения.Свойство("ПутьДляСохранения", ПутьДляСохранения)*/)
			{
				//ПутьДляСохранения = Неопределено;
			}
			if(true/*Не ПараметрыПолучения.Свойство("Пользователь", Пользователь)*/)
			{
				//Пользователь = Неопределено;
			}
			if(true/*Не ПараметрыПолучения.Свойство("Пароль", Пароль)*/)
			{
				//Пароль = Неопределено;
			}
			if(true/*Не ПараметрыПолучения.Свойство("Порт", Порт)*/)
			{
				//Порт = Неопределено;
			}
			if(true/*Не ПараметрыПолучения.Свойство("ЗащищенноеСоединение", ЗащищенноеСоединение)*/)
			{
				//ЗащищенноеСоединение = Неопределено;
			}
			if(true/*Не ПараметрыПолучения.Свойство("ПассивноеСоединение", ПассивноеСоединение)*/)
			{
				//ПассивноеСоединение = Неопределено;
			}
			//НастройкаСохранения = Новый Соответствие;
			//НастройкаСохранения.Вставить("МестоХранения", "Сервер");
			//НастройкаСохранения.Вставить("Путь", ПутьДляСохранения);
			/*Результат = ПолучениеФайловИзИнтернетаКлиентСервер.ПодготовитьПолучениеФайла(
		URL,
		Пользователь,
		Пароль,
		Порт,
		ЗащищенноеСоединение,
		ПассивноеСоединение,
		НастройкаСохранения);*/
			return null;
		}
		// Получить файл из Интернета по протоколу http(s), либо ftp и сохранить его во временное хранилище.
		//
		// Параметры:
		//   URL                  - Строка - url файла в формате:
		//                                   [Протокол://]<Сервер>/<Путь к файлу на сервере>
		//   ПараметрыПолучения   - Структура со свойствами
		//     Пользователь         - Строка - пользователь от имени которого установлено соединение
		//     Пароль               - Строка - пароль пользователя от которого установлено соединение
		//     Порт                 - Число  - порт сервера с которым установлено соединение
		//     ЗащищенноеСоединение - Булево - для случая http загрузки флаг указывает,
		//                                     что соединение должно производиться через https
		//     ПассивноеСоединение  - Булево - для случая ftp загрузки флаг указывает,
		//                                     что соединение должно пассивным (или активным)
		//
		// Возвращаемое значение:
		//   Структура со свойствами
		//     Статус  - Булево - ключ присутствует в структуре всегда, значения
		//                        Истина - вызов функции успешно завершен
		//                        Ложь   - вызов функции завершен неудачно
		//     Путь    - Строка - адрес временного хранилища с двоичными данными файла,
		//                        ключ используется только если статус Истина
		//     СообщениеОбОшибке - Строка - сообщение об ошибке, если статус Ложь
		//

		public object СкачатьФайлВоВременноеХранилище(/*знач URL, ПараметрыПолучения = Неопределено*/)
		{
			/*// Объявление переменных перед первым использованием в качестве
*/
			/*// параметра метода Свойство, при анализе параметров получения файлов
*/
			/*// из ПараметрыПолучения. Содержат значения переданных параметров получения файла
*/
			/*// Получаем параметры получения файла
*/
			if(true/*ПараметрыПолучения = Неопределено*/)
			{
				//ПараметрыПолучения = Новый Структура;
			}
			if(true/*Не ПараметрыПолучения.Свойство("ПутьДляСохранения", ПутьДляСохранения)*/)
			{
				//ПутьДляСохранения = Неопределено;
			}
			if(true/*Не ПараметрыПолучения.Свойство("Пользователь", Пользователь)*/)
			{
				//Пользователь = Неопределено;
			}
			if(true/*Не ПараметрыПолучения.Свойство("Пароль", Пароль)*/)
			{
				//Пароль = Неопределено;
			}
			if(true/*Не ПараметрыПолучения.Свойство("Порт", Порт)*/)
			{
				//Порт = Неопределено;
			}
			if(true/*Не ПараметрыПолучения.Свойство("ЗащищенноеСоединение", ЗащищенноеСоединение)*/)
			{
				//ЗащищенноеСоединение = Неопределено;
			}
			if(true/*Не ПараметрыПолучения.Свойство("ПассивноеСоединение", ПассивноеСоединение)*/)
			{
				//ПассивноеСоединение = Неопределено;
			}
			//НастройкаСохранения = Новый Соответствие;
			//НастройкаСохранения.Вставить("МестоХранения", "ВременноеХранилище");
			/*Результат = ПолучениеФайловИзИнтернетаКлиентСервер.ПодготовитьПолучениеФайла(
		URL,
		Пользователь,
		Пароль,
		Порт,
		ЗащищенноеСоединение,
		ПассивноеСоединение,
		НастройкаСохранения);*/
			return null;
		}
		// Записывает двоичные данные в файл, хранящийся во временном хранилище
		//
		// Параметры:
		//   АдресВоВременномХранилище - Строка - адрес двоичных данных файла
		//                                        во временном хранилище
		//   ИмяФайла                  - Строка - путь по которому файл необходимо сохранить
		//                                        на сервере
		//

		public object СохранитьФайлИзВременногоХранилищаНаСервере(/*АдресВоВременномХранилище, ИмяФайла*/)
		{
			//ДанныеФайла = ПолучитьИзВременногоХранилища(АдресВоВременномХранилище);
			//ДанныеФайла.Записать(ИмяФайла);
			return null;
		}
		// Получает имя временного файла вызовом одноименной системной функции на сервере
		//

		public object ПолучитьИмяВременногоФайлаНаСервере(/**/)
		{
			return null;
		}
		// Возвращает параметры настройки прокси сервера на стороне сервера 1С:Предприятие
		//

		public object ПолучитьНастройкиПроксиНаСервере1СПредприятие(/**/)
		{
			//УстановитьПривилегированныйРежим(Истина);
			return null;
		}
		// Возвращает параметры настройки прокси сервера на стороне сервера 1С:Предприятие
		//

		public void СохранитьНастройкиПроксиНаСервере1СПредприятие(/*знач Настройки*/)
		{
			//УстановитьПривилегированныйРежим(Истина);
			//Константы.НастройкаПроксиСервера.Установить(Новый ХранилищеЗначения(Настройки));
		}
		// Возвращает настройку прокси сервера для доступа к интернет со стороны
		// клиента для текущего пользователя.
		//

		public object ПолучитьНастройкуПроксиСервера(/**/)
		{
			return null;
		}
		// Записывает событие-ошибку в журнал регистрации. Имя события
		// "Получение файлов из Интернета".
		// Параметры
		//   СообщениеОбОшибке - строка сообщение об ошибке
		//

		public void ЗаписатьОшибкуВЖурналРегистрации(/*знач СообщениеОбОшибке*/)
		{
			/*ЗаписьЖурналаРегистрации(НСтр("ru = 'Получение файлов из Интернета'"), УровеньЖурналаРегистрации.Ошибка,
		, , СообщениеОбОшибке);*/
		}
		////////////////////////////////////////////////////////////////////////////////
		// Обновление информационной базы
		// Добавляет в список Обработчики процедуры-обработчики обновления,
		// необходимые данной подсистеме.
		//
		// Параметры:
		//   Обработчики - ТаблицаЗначений - см. описание функции НоваяТаблицаОбработчиковОбновления
		//                                   общего модуля ОбновлениеИнформационнойБазы.
		//

		public void ЗарегистрироватьОбработчикиОбновления(/*Обработчики*/)
		{
			//Обработчик = Обработчики.Добавить();
			//Обработчик.Версия = "1.2.1.4";
			//Обработчик.Процедура = "ПолучениеФайловИзИнтернета.ОбновитьХранимыеНастройкиПрокси";
		}
		// Инициализирует новые настройки прокси-сервера "ИспользоватьПрокси"
		// и "ИспользоватьСистемныеНастройки".
		//

		public void ОбновитьХранимыеНастройкиПрокси(/**/)
		{
			//МассивПользователейИБ = ПользователиИнформационнойБазы.ПолучитьПользователей();
			//НастройкаПроксиСервера = ПолучитьНастройкиПроксиНаСервере1СПредприятие();
			if(true/*ТипЗнч(НастройкаПроксиСервера) = Тип("Соответствие")*/)
			{
				//СохранитьНастройкиСервера = Ложь;
				if(true/*НастройкаПроксиСервера.Получить("ИспользоватьПрокси") = Неопределено*/)
				{
					//НастройкаПроксиСервера.Вставить("ИспользоватьПрокси", Ложь);
					//СохранитьНастройкиСервера = Истина;
				}
				if(true/*НастройкаПроксиСервера.Получить("ИспользоватьСистемныеНастройки") = Неопределено*/)
				{
					//НастройкаПроксиСервера.Вставить("ИспользоватьСистемныеНастройки", Ложь);
					//СохранитьНастройкиСервера = Истина;
				}
				if(true/*СохранитьНастройкиСервера*/)
				{
					//СохранитьНастройкиПроксиНаСервере1СПредприятие(НастройкаПроксиСервера);
				}
			}
		}
	}
}
